<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>csudma: xcsudma.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">csudma
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xcsudma_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xcsudma.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a CSU_DMA core.  <a href="struct_x_csu_dma___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma.html">XCsuDma</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> driver instance data structure.  <a href="struct_x_csu_dma.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains all the configuration feilds which must be set before the start of the data transfer.  <a href="struct_x_csu_dma___configure.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga8ee71e015a72b9441ead3a0f5541777c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga8ee71e015a72b9441ead3a0f5541777c">XCSUDMA_H_</a></td></tr>
<tr class="memdesc:ga8ee71e015a72b9441ead3a0f5541777c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent circular inclusions by using protection macros.  <a href="group__csuma__api.html#ga8ee71e015a72b9441ead3a0f5541777c">More...</a><br/></td></tr>
<tr class="separator:ga8ee71e015a72b9441ead3a0f5541777c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd22ed9ee5ff0eae03ee717112b7087"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a4fd22ed9ee5ff0eae03ee717112b7087">XCsuDma_Reset</a>()</td></tr>
<tr class="memdesc:a4fd22ed9ee5ff0eae03ee717112b7087"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resets the CSU_DMA core.  <a href="#a4fd22ed9ee5ff0eae03ee717112b7087">More...</a><br/></td></tr>
<tr class="separator:a4fd22ed9ee5ff0eae03ee717112b7087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97adf45a00577175416617745ddae9b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a97adf45a00577175416617745ddae9b8">XCsuDma_WaitForDone</a>(InstancePtr, Channel)</td></tr>
<tr class="memdesc:a97adf45a00577175416617745ddae9b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will be in busy while loop until the data transfer is completed.  <a href="#a97adf45a00577175416617745ddae9b8">More...</a><br/></td></tr>
<tr class="separator:a97adf45a00577175416617745ddae9b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf6f5fdbd1556eecafa2ecf802b88e73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#adf6f5fdbd1556eecafa2ecf802b88e73">XCsuDma_GetDoneCount</a>(InstancePtr, Channel)</td></tr>
<tr class="memdesc:adf6f5fdbd1556eecafa2ecf802b88e73"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the number of completed SRC/DST DMA transfers that have not been acknowledged by software based on the channel selection.  <a href="#adf6f5fdbd1556eecafa2ecf802b88e73">More...</a><br/></td></tr>
<tr class="separator:adf6f5fdbd1556eecafa2ecf802b88e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a055148e26de969504f6b826af3fe9279"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a055148e26de969504f6b826af3fe9279">XCsuDma_GetFIFOLevel</a>(InstancePtr, Channel)</td></tr>
<tr class="memdesc:a055148e26de969504f6b826af3fe9279"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the current SRC/DST FIFO level in 32 bit words of the selected channel.  <a href="#a055148e26de969504f6b826af3fe9279">More...</a><br/></td></tr>
<tr class="separator:a055148e26de969504f6b826af3fe9279"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b3c3d44a05b300dd2b60a1f15bc9a60"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a8b3c3d44a05b300dd2b60a1f15bc9a60">XCsuDma_GetWROutstandCount</a>(InstancePtr, Channel)</td></tr>
<tr class="memdesc:a8b3c3d44a05b300dd2b60a1f15bc9a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the current number of read(src)/write(dst) outstanding commands based on the type of channel selected.  <a href="#a8b3c3d44a05b300dd2b60a1f15bc9a60">More...</a><br/></td></tr>
<tr class="separator:a8b3c3d44a05b300dd2b60a1f15bc9a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15d6d8d487734165214850984ac00f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#af15d6d8d487734165214850984ac00f2">XCsuDma_IsBusy</a>(InstancePtr, Channel)</td></tr>
<tr class="memdesc:af15d6d8d487734165214850984ac00f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the status of Channel either it is busy or not.  <a href="#af15d6d8d487734165214850984ac00f2">More...</a><br/></td></tr>
<tr class="separator:af15d6d8d487734165214850984ac00f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Ranges of Size</div></td></tr>
<tr class="memitem:ab57550413ed1c53f70a33ad4b90965eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#ab57550413ed1c53f70a33ad4b90965eb">XCSUDMA_SIZE_MAX</a>&#160;&#160;&#160;0x07FFFFFFU</td></tr>
<tr class="memdesc:ab57550413ed1c53f70a33ad4b90965eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum allowed no of words.  <a href="#ab57550413ed1c53f70a33ad4b90965eb">More...</a><br/></td></tr>
<tr class="separator:ab57550413ed1c53f70a33ad4b90965eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f5460a8a6a1848b2c4c2988f7428e73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a8f5460a8a6a1848b2c4c2988f7428e73">XCSUDMA_DMATYPEIS_CSUDMA</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:a8f5460a8a6a1848b2c4c2988f7428e73"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA is CSUDMA.  <a href="#a8f5460a8a6a1848b2c4c2988f7428e73">More...</a><br/></td></tr>
<tr class="separator:a8f5460a8a6a1848b2c4c2988f7428e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af785114e3c13162c421d9e996904439d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#af785114e3c13162c421d9e996904439d">XCSUDMA_DMATYPEIS_PMCDMA0</a>&#160;&#160;&#160;1U</td></tr>
<tr class="memdesc:af785114e3c13162c421d9e996904439d"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA is PMCDMA0.  <a href="#af785114e3c13162c421d9e996904439d">More...</a><br/></td></tr>
<tr class="separator:af785114e3c13162c421d9e996904439d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa507d47c1f38cdce062c5215c47f6eb3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#aa507d47c1f38cdce062c5215c47f6eb3">XCSUDMA_DMATYPEIS_PMCDMA1</a>&#160;&#160;&#160;2U</td></tr>
<tr class="memdesc:aa507d47c1f38cdce062c5215c47f6eb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA is PMCDMA1.  <a href="#aa507d47c1f38cdce062c5215c47f6eb3">More...</a><br/></td></tr>
<tr class="separator:aa507d47c1f38cdce062c5215c47f6eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bb92ac777bd1f10d3a1e71aa3f78c78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#a6bb92ac777bd1f10d3a1e71aa3f78c78">XCSUDMA_DMATYPEIS_ASUDMA0</a>&#160;&#160;&#160;3U</td></tr>
<tr class="memdesc:a6bb92ac777bd1f10d3a1e71aa3f78c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA is ASUDMA0.  <a href="#a6bb92ac777bd1f10d3a1e71aa3f78c78">More...</a><br/></td></tr>
<tr class="separator:a6bb92ac777bd1f10d3a1e71aa3f78c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8be6af2cc9347ba3b9f23e8dc209e34"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#aa8be6af2cc9347ba3b9f23e8dc209e34">XCSUDMA_DMATYPEIS_ASUDMA1</a>&#160;&#160;&#160;4U</td></tr>
<tr class="memdesc:aa8be6af2cc9347ba3b9f23e8dc209e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA is ASUDMA1.  <a href="#aa8be6af2cc9347ba3b9f23e8dc209e34">More...</a><br/></td></tr>
<tr class="separator:aa8be6af2cc9347ba3b9f23e8dc209e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga46008337fdd632f2650b8727c305eba5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> { <a class="el" href="group__csuma__api.html#gga46008337fdd632f2650b8727c305eba5afe0a7c4c64751afddad37c4a15a00e0d">XCSUDMA_SRC_CHANNEL</a> = 0U, 
<a class="el" href="group__csuma__api.html#gga46008337fdd632f2650b8727c305eba5a08d300b013b7169bd1475fdf04737fe4">XCSUDMA_DST_CHANNEL</a>
 }</td></tr>
<tr class="memdesc:ga46008337fdd632f2650b8727c305eba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains CSU_DMA Channel Types.  <a href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">More...</a><br/></td></tr>
<tr class="separator:ga46008337fdd632f2650b8727c305eba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ce08d197288cbdfb06941f1d46df87"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> { <a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87a4848b0d503f02b0b03be6cd1a14ef6a8">XCSUDMA_PAUSE_MEMORY</a>, 
<a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87a67086fbe749ed37f5928c211ee6aa5b8">XCSUDMA_PAUSE_STREAM</a>
 }</td></tr>
<tr class="memdesc:ad5ce08d197288cbdfb06941f1d46df87"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains CSU_DMA Pause Types.  <a href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">More...</a><br/></td></tr>
<tr class="separator:ad5ce08d197288cbdfb06941f1d46df87"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9b921be4bb07b632d2dfd8ac34c30fb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga9b921be4bb07b632d2dfd8ac34c30fb8">XCsuDma_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga9b921be4bb07b632d2dfd8ac34c30fb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">XCsuDma_LookupConfig returns a reference to an <a class="el" href="struct_x_csu_dma___config.html" title="This typedef contains configuration information for a CSU_DMA core. ">XCsuDma_Config</a> structure based on the unique device id, <em>DeviceId</em>.  <a href="group__csuma__api.html#ga9b921be4bb07b632d2dfd8ac34c30fb8">More...</a><br/></td></tr>
<tr class="separator:ga9b921be4bb07b632d2dfd8ac34c30fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0f7217bd295de82623179efb34adb96"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gad0f7217bd295de82623179efb34adb96">XCsuDma_CfgInitialize</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="struct_x_csu_dma___config.html">XCsuDma_Config</a> *CfgPtr, UINTPTR EffectiveAddr)</td></tr>
<tr class="memdesc:gad0f7217bd295de82623179efb34adb96"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes CSU_DMA core.  <a href="group__csuma__api.html#gad0f7217bd295de82623179efb34adb96">More...</a><br/></td></tr>
<tr class="separator:gad0f7217bd295de82623179efb34adb96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf79144df19e9cd4116dd9f507037ff1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gacf79144df19e9cd4116dd9f507037ff1">XCsuDma_Transfer</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u64 Addr, u32 Size, u8 EnDataLast)</td></tr>
<tr class="memdesc:gacf79144df19e9cd4116dd9f507037ff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the starting address and size of the data to be transferred from/to the memory through the AXI interface.  <a href="group__csuma__api.html#gacf79144df19e9cd4116dd9f507037ff1">More...</a><br/></td></tr>
<tr class="separator:gacf79144df19e9cd4116dd9f507037ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83a1043112b6067b1901d2bdcb29563d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga83a1043112b6067b1901d2bdcb29563d">XCsuDma_64BitTransfer</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 AddrLow, u32 AddrHigh, u32 Size, u8 EnDataLast)</td></tr>
<tr class="memdesc:ga83a1043112b6067b1901d2bdcb29563d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the starting address and size of the data to be transferred from/to the memory through the AXI interface.  <a href="group__csuma__api.html#ga83a1043112b6067b1901d2bdcb29563d">More...</a><br/></td></tr>
<tr class="separator:ga83a1043112b6067b1901d2bdcb29563d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25049be545d8ec6eae2426b6248a8e4f"><td class="memItemLeft" align="right" valign="top">u64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga25049be545d8ec6eae2426b6248a8e4f">XCsuDma_GetAddr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
<tr class="memdesc:ga25049be545d8ec6eae2426b6248a8e4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the current address location of the memory, from where it has to read the data(SRC) or the location where it has to write the data (DST) based on the channel selection.  <a href="group__csuma__api.html#ga25049be545d8ec6eae2426b6248a8e4f">More...</a><br/></td></tr>
<tr class="separator:ga25049be545d8ec6eae2426b6248a8e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5fd579fb9c166e59ee1f9d3b39250c7"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gad5fd579fb9c166e59ee1f9d3b39250c7">XCsuDma_GetSize</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
<tr class="memdesc:gad5fd579fb9c166e59ee1f9d3b39250c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the size of the data yet to be transferred from memory to CSU_DMA or CSU_DMA to memory based on the channel selection.  <a href="group__csuma__api.html#gad5fd579fb9c166e59ee1f9d3b39250c7">More...</a><br/></td></tr>
<tr class="separator:gad5fd579fb9c166e59ee1f9d3b39250c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00b5080126710866186d0bfafd26e9b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga00b5080126710866186d0bfafd26e9b6">XCsuDma_Pause</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
<tr class="memdesc:ga00b5080126710866186d0bfafd26e9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function pauses the Channel data transfer to/from memory or to/from stream based on pause type.  <a href="group__csuma__api.html#ga00b5080126710866186d0bfafd26e9b6">More...</a><br/></td></tr>
<tr class="separator:ga00b5080126710866186d0bfafd26e9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3450f812658f927f289b997b12a4174"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gaa3450f812658f927f289b997b12a4174">XCsuDma_IsPaused</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
<tr class="memdesc:gaa3450f812658f927f289b997b12a4174"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks whether Channel memory/stream is paused based on the given pause type.  <a href="group__csuma__api.html#gaa3450f812658f927f289b997b12a4174">More...</a><br/></td></tr>
<tr class="separator:gaa3450f812658f927f289b997b12a4174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeee3f2d5bcf265b57c9f214f2bc15a28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gaeee3f2d5bcf265b57c9f214f2bc15a28">XCsuDma_Resume</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a> Type)</td></tr>
<tr class="memdesc:gaeee3f2d5bcf265b57c9f214f2bc15a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resumes the channel if it is in paused state and continues where it has left.  <a href="group__csuma__api.html#gaeee3f2d5bcf265b57c9f214f2bc15a28">More...</a><br/></td></tr>
<tr class="separator:gaeee3f2d5bcf265b57c9f214f2bc15a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17f1a7ba935f4bf3626050e0b0e0142b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga17f1a7ba935f4bf3626050e0b0e0142b">XCsuDma_GetCheckSum</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga17f1a7ba935f4bf3626050e0b0e0142b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the sum of all the data read from AXI memory.  <a href="group__csuma__api.html#ga17f1a7ba935f4bf3626050e0b0e0142b">More...</a><br/></td></tr>
<tr class="separator:ga17f1a7ba935f4bf3626050e0b0e0142b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78bdd79674e2b5c92b9701cacfde1fe1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga78bdd79674e2b5c92b9701cacfde1fe1">XCsuDma_ClearCheckSum</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga78bdd79674e2b5c92b9701cacfde1fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears the check sum of the data read from AXI memory.  <a href="group__csuma__api.html#ga78bdd79674e2b5c92b9701cacfde1fe1">More...</a><br/></td></tr>
<tr class="separator:ga78bdd79674e2b5c92b9701cacfde1fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9b6265e467b03cc903cd66781e95e63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gac9b6265e467b03cc903cd66781e95e63">XCsuDma_SetConfig</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a> *ConfigurValues)</td></tr>
<tr class="memdesc:gac9b6265e467b03cc903cd66781e95e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function configures all the values of CSU_DMA Channels with the values of updated <a class="el" href="struct_x_csu_dma___configure.html" title="This typedef contains all the configuration feilds which must be set before the start of the data tra...">XCsuDma_Configure</a> structure.  <a href="group__csuma__api.html#gac9b6265e467b03cc903cd66781e95e63">More...</a><br/></td></tr>
<tr class="separator:gac9b6265e467b03cc903cd66781e95e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab0b66bca3f38d26d38ff47544fa6b11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gaab0b66bca3f38d26d38ff47544fa6b11">XCsuDma_GetConfig</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, <a class="el" href="struct_x_csu_dma___configure.html">XCsuDma_Configure</a> *ConfigurValues)</td></tr>
<tr class="memdesc:gaab0b66bca3f38d26d38ff47544fa6b11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function updates <a class="el" href="struct_x_csu_dma___configure.html" title="This typedef contains all the configuration feilds which must be set before the start of the data tra...">XCsuDma_Configure</a> structure members with the configured values of CSU_DMA's Channel.  <a href="group__csuma__api.html#gaab0b66bca3f38d26d38ff47544fa6b11">More...</a><br/></td></tr>
<tr class="separator:gaab0b66bca3f38d26d38ff47544fa6b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73867b4acb189982642e4c1ae4f92fb9"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga73867b4acb189982642e4c1ae4f92fb9">XCsuDma_WaitForDoneTimeout</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
<tr class="memdesc:ga73867b4acb189982642e4c1ae4f92fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function polls for completion of data transfer periodically until the DMA done bit set or until the timeout occurs.  <a href="group__csuma__api.html#ga73867b4acb189982642e4c1ae4f92fb9">More...</a><br/></td></tr>
<tr class="separator:ga73867b4acb189982642e4c1ae4f92fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6169fa380a4d55e41d7ab96589372e8f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga6169fa380a4d55e41d7ab96589372e8f">XCsuDma_IntrGetStatus</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
<tr class="memdesc:ga6169fa380a4d55e41d7ab96589372e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns interrupt status read from Interrupt Status Register.  <a href="group__csuma__api.html#ga6169fa380a4d55e41d7ab96589372e8f">More...</a><br/></td></tr>
<tr class="separator:ga6169fa380a4d55e41d7ab96589372e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1db5eabd96920efb06fb03c919420601"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga1db5eabd96920efb06fb03c919420601">XCsuDma_IntrClear</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
<tr class="memdesc:ga1db5eabd96920efb06fb03c919420601"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears interrupt(s).  <a href="group__csuma__api.html#ga1db5eabd96920efb06fb03c919420601">More...</a><br/></td></tr>
<tr class="separator:ga1db5eabd96920efb06fb03c919420601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad892a65e65ac14f48f7d7f53020511cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gad892a65e65ac14f48f7d7f53020511cf">XCsuDma_EnableIntr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
<tr class="memdesc:gad892a65e65ac14f48f7d7f53020511cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the interrupt(s).  <a href="group__csuma__api.html#gad892a65e65ac14f48f7d7f53020511cf">More...</a><br/></td></tr>
<tr class="separator:gad892a65e65ac14f48f7d7f53020511cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf3599e4d07ef05586a217ebbbd02999"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#gadf3599e4d07ef05586a217ebbbd02999">XCsuDma_DisableIntr</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel, u32 Mask)</td></tr>
<tr class="memdesc:gadf3599e4d07ef05586a217ebbbd02999"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the interrupt(s).  <a href="group__csuma__api.html#gadf3599e4d07ef05586a217ebbbd02999">More...</a><br/></td></tr>
<tr class="separator:gadf3599e4d07ef05586a217ebbbd02999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ed420e8bfd9ab489a2d2c3e984ca7a2"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga6ed420e8bfd9ab489a2d2c3e984ca7a2">XCsuDma_GetIntrMask</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr, <a class="el" href="group__csuma__api.html#ga46008337fdd632f2650b8727c305eba5">XCsuDma_Channel</a> Channel)</td></tr>
<tr class="memdesc:ga6ed420e8bfd9ab489a2d2c3e984ca7a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the interrupt mask to know which interrupts are enabled and which of them were disaled.  <a href="group__csuma__api.html#ga6ed420e8bfd9ab489a2d2c3e984ca7a2">More...</a><br/></td></tr>
<tr class="separator:ga6ed420e8bfd9ab489a2d2c3e984ca7a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga774ab551d0ef59fd880ff834f2d83804"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__csuma__api.html#ga774ab551d0ef59fd880ff834f2d83804">XCsuDma_SelfTest</a> (<a class="el" href="struct_x_csu_dma.html">XCsuDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga774ab551d0ef59fd880ff834f2d83804"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs a self-test on the driver and hardware device.  <a href="group__csuma__api.html#ga774ab551d0ef59fd880ff834f2d83804">More...</a><br/></td></tr>
<tr class="separator:ga774ab551d0ef59fd880ff834f2d83804"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a6bb92ac777bd1f10d3a1e71aa3f78c78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_DMATYPEIS_ASUDMA0&#160;&#160;&#160;3U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DMA is ASUDMA0. </p>

</div>
</div>
<a class="anchor" id="aa8be6af2cc9347ba3b9f23e8dc209e34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_DMATYPEIS_ASUDMA1&#160;&#160;&#160;4U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DMA is ASUDMA1. </p>

</div>
</div>
<a class="anchor" id="a8f5460a8a6a1848b2c4c2988f7428e73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_DMATYPEIS_CSUDMA&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DMA is CSUDMA. </p>

<p>Referenced by <a class="el" href="group__csuma__api.html#gad0f7217bd295de82623179efb34adb96">XCsuDma_CfgInitialize()</a>, <a class="el" href="xcsudma__intr__example_8c.html#ae07b94c3ade7479c4ec8dfec3bb4d643">XCsuDma_IntrExample()</a>, and <a class="el" href="xcsudma__polled__example_8c.html#aff327ee48af8d9e5c4018dd4e463674c">XCsuDma_PolledExample()</a>.</p>

</div>
</div>
<a class="anchor" id="af785114e3c13162c421d9e996904439d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_DMATYPEIS_PMCDMA0&#160;&#160;&#160;1U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DMA is PMCDMA0. </p>

<p>Referenced by <a class="el" href="xcsudma__intr__example_8c.html#ae07b94c3ade7479c4ec8dfec3bb4d643">XCsuDma_IntrExample()</a>, and <a class="el" href="xcsudma__polled__example_8c.html#aff327ee48af8d9e5c4018dd4e463674c">XCsuDma_PolledExample()</a>.</p>

</div>
</div>
<a class="anchor" id="aa507d47c1f38cdce062c5215c47f6eb3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_DMATYPEIS_PMCDMA1&#160;&#160;&#160;2U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DMA is PMCDMA1. </p>

</div>
</div>
<a class="anchor" id="adf6f5fdbd1556eecafa2ecf802b88e73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_GetDoneCount</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Channel&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a>(((InstancePtr)-&gt;Config.BaseAddress), \</div>
<div class="line">                        ((u32)(<a class="code" href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a>) + \</div>
<div class="line">                        ((u32)(Channel) * (u32)(XCSUDMA_OFFSET_DIFF)))) &amp; \</div>
<div class="line">                        (u32)(XCSUDMA_STS_DONE_CNT_MASK)) &gt;&gt; \</div>
<div class="line">                                (u32)(XCSUDMA_STS_DONE_CNT_SHIFT))</div>
<div class="ttc" id="group__csuma__api_html_ga356d29aa2d43a1b724700007be7dcd51"><div class="ttname"><a href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a></div><div class="ttdeci">#define XCsuDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:328</div></div>
<div class="ttc" id="group__csuma__api_html_gaa69407558163d5fc58ac9621b3e313a3"><div class="ttname"><a href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a></div><div class="ttdeci">#define XCSUDMA_STS_OFFSET</div><div class="ttdoc">Status Register Offset. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:57</div></div>
</div><!-- fragment -->
<p>This function returns the number of completed SRC/DST DMA transfers that have not been acknowledged by software based on the channel selection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>Type of channel. Source channel - XCSUDMA_SRC_CHANNEL Destination Channel - XCSUDMA_DST_CHANNEL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Count is number of completed DMA transfers but not acknowledged (Range is 0 to 7).<ul>
<li>000 - All finished transfers have been acknowledged.</li>
<li>Count - Count number of finished transfers are still outstanding.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u8 XCsuDma_GetDoneCount(<a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> *InstancePtr, XCsuDma_Channel Channel) </dd></dl>

</div>
</div>
<a class="anchor" id="a055148e26de969504f6b826af3fe9279"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_GetFIFOLevel</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Channel&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a>(((InstancePtr)-&gt;Config.BaseAddress), \</div>
<div class="line">                        ((u32)(<a class="code" href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a>) + \</div>
<div class="line">                        ((u32)(Channel) * (u32)(XCSUDMA_OFFSET_DIFF)))) &amp; \</div>
<div class="line">                        (u32)(XCSUDMA_STS_FIFO_LEVEL_MASK)) &gt;&gt; \</div>
<div class="line">                                        (u32)(XCSUDMA_STS_FIFO_LEVEL_SHIFT))</div>
<div class="ttc" id="group__csuma__api_html_ga356d29aa2d43a1b724700007be7dcd51"><div class="ttname"><a href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a></div><div class="ttdeci">#define XCsuDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:328</div></div>
<div class="ttc" id="group__csuma__api_html_gaa69407558163d5fc58ac9621b3e313a3"><div class="ttname"><a href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a></div><div class="ttdeci">#define XCSUDMA_STS_OFFSET</div><div class="ttdoc">Status Register Offset. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:57</div></div>
</div><!-- fragment -->
<p>This function returns the current SRC/DST FIFO level in 32 bit words of the selected channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>Type of channel Source channel - XCSUDMA_SRC_CHANNEL Destination Channel - XCSUDMA_DST_CHANNEL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FIFO level. (Range is 0 to 128)<ul>
<li>0 Indicates empty</li>
<li>Any number 1 to 128 indicates the number of entries in FIFO.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u8 XCsuDma_GetFIFOLevel(<a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> *InstancePtr, XCsuDma_Channel Channel) </dd></dl>

</div>
</div>
<a class="anchor" id="a8b3c3d44a05b300dd2b60a1f15bc9a60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_GetWROutstandCount</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Channel&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((<a class="code" href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a>(((InstancePtr)-&gt;Config.BaseAddress), \</div>
<div class="line">                                ((u32)(<a class="code" href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a>) + \</div>
<div class="line">                        ((u32)(Channel) * (u32)(XCSUDMA_OFFSET_DIFF)))) &amp; \</div>
<div class="line">                        (u32)(XCUSDMA_STS_OUTSTDG_MASK)) &gt;&gt; \</div>
<div class="line">                                (u32)(XCUSDMA_STS_OUTSTDG_SHIFT))</div>
<div class="ttc" id="group__csuma__api_html_ga356d29aa2d43a1b724700007be7dcd51"><div class="ttname"><a href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a></div><div class="ttdeci">#define XCsuDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:328</div></div>
<div class="ttc" id="group__csuma__api_html_gaa69407558163d5fc58ac9621b3e313a3"><div class="ttname"><a href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a></div><div class="ttdeci">#define XCSUDMA_STS_OFFSET</div><div class="ttdoc">Status Register Offset. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:57</div></div>
</div><!-- fragment -->
<p>This function returns the current number of read(src)/write(dst) outstanding commands based on the type of channel selected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>Type of channel Source channel - XCSUDMA_SRC_CHANNEL Destination Channel - XCSUDMA_DST_CHANNEL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Count of outstanding commands. (Range is 0 to 9).</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: u8 XCsuDma_GetWROutstandCount(<a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> *InstancePtr, XCsuDma_Channel Channel) </dd></dl>

</div>
</div>
<a class="anchor" id="af15d6d8d487734165214850984ac00f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_IsBusy</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Channel&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(((<a class="code" href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a>(((InstancePtr)-&gt;Config.BaseAddress), \</div>
<div class="line">                                        ((u32)(<a class="code" href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a>) + \</div>
<div class="line">                        ((u32)(Channel) * (u32)(XCSUDMA_OFFSET_DIFF)))) &amp; \</div>
<div class="line">                (u32)(XCSUDMA_STS_BUSY_MASK)) == (XCSUDMA_STS_BUSY_MASK)) ? \</div>
<div class="line">                                TRUE : FALSE)</div>
<div class="ttc" id="group__csuma__api_html_ga356d29aa2d43a1b724700007be7dcd51"><div class="ttname"><a href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a></div><div class="ttdeci">#define XCsuDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:328</div></div>
<div class="ttc" id="group__csuma__api_html_gaa69407558163d5fc58ac9621b3e313a3"><div class="ttname"><a href="group__csuma__api.html#gaa69407558163d5fc58ac9621b3e313a3">XCSUDMA_STS_OFFSET</a></div><div class="ttdeci">#define XCSUDMA_STS_OFFSET</div><div class="ttdoc">Status Register Offset. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:57</div></div>
</div><!-- fragment -->
<p>This function returns the status of Channel either it is busy or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>Type of channel Source channel - XCSUDMA_SRC_CHANNEL Destination Channel - XCSUDMA_DST_CHANNEL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the current status of the core.<ul>
<li>TRUE represents core is currently busy.</li>
<li>FALSE represents core is not involved in any transfers.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: s32 <a class="el" href="xcsudma_8h.html#af15d6d8d487734165214850984ac00f2" title="This function returns the status of Channel either it is busy or not. ">XCsuDma_IsBusy(XCsuDma *InstancePtr, XCsuDma_Channel Channel)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4fd22ed9ee5ff0eae03ee717112b7087"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_Reset</td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">Xil_Out32(((u32)(XCSU_BASEADDRESS) + (u32)(XCSU_DMA_RESET_OFFSET)), \</div>
<div class="line">                                (u32)(XCSUDMA_RESET_SET_MASK)); \</div>
<div class="line">        Xil_Out32(((u32)(XCSU_BASEADDRESS) + (u32)(XCSU_DMA_RESET_OFFSET)), \</div>
<div class="line">                                        (u32)(XCSUDMA_RESET_UNSET_MASK));</div>
</div><!-- fragment -->
<p>This function resets the CSU_DMA core. </p>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. C-style signature: void <a class="el" href="xcsudma_8h.html#a4fd22ed9ee5ff0eae03ee717112b7087" title="This function resets the CSU_DMA core. ">XCsuDma_Reset()</a> </dd></dl>

<p>Referenced by <a class="el" href="group__csuma__api.html#gad0f7217bd295de82623179efb34adb96">XCsuDma_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ab57550413ed1c53f70a33ad4b90965eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCSUDMA_SIZE_MAX&#160;&#160;&#160;0x07FFFFFFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum allowed no of words. </p>

<p>Referenced by <a class="el" href="group__csuma__api.html#ga83a1043112b6067b1901d2bdcb29563d">XCsuDma_64BitTransfer()</a>, and <a class="el" href="group__csuma__api.html#gacf79144df19e9cd4116dd9f507037ff1">XCsuDma_Transfer()</a>.</p>

</div>
</div>
<a class="anchor" id="a97adf45a00577175416617745ddae9b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XCsuDma_WaitForDone</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Channel&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">while</span>((<a class="code" href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a>(((InstancePtr)-&gt;Config.BaseAddress), \</div>
<div class="line">                        ((u32)(<a class="code" href="group__csuma__api.html#gab56adb100901bb2b042a842619064ce5">XCSUDMA_I_STS_OFFSET</a>) + \</div>
<div class="line">                        ((u32)(Channel) * (u32)(XCSUDMA_OFFSET_DIFF)))) &amp; \</div>
<div class="line">                        (u32)(<a class="code" href="group__csuma__api.html#ga0dbd333c70de601e769b8542552eb7e4">XCSUDMA_IXR_DONE_MASK</a>)) != (<a class="code" href="group__csuma__api.html#ga0dbd333c70de601e769b8542552eb7e4">XCSUDMA_IXR_DONE_MASK</a>))</div>
<div class="ttc" id="group__csuma__api_html_ga356d29aa2d43a1b724700007be7dcd51"><div class="ttname"><a href="group__csuma__api.html#ga356d29aa2d43a1b724700007be7dcd51">XCsuDma_ReadReg</a></div><div class="ttdeci">#define XCsuDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:328</div></div>
<div class="ttc" id="group__csuma__api_html_gab56adb100901bb2b042a842619064ce5"><div class="ttname"><a href="group__csuma__api.html#gab56adb100901bb2b042a842619064ce5">XCSUDMA_I_STS_OFFSET</a></div><div class="ttdeci">#define XCSUDMA_I_STS_OFFSET</div><div class="ttdoc">Interrupt Status Register Offset. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:59</div></div>
<div class="ttc" id="group__csuma__api_html_ga0dbd333c70de601e769b8542552eb7e4"><div class="ttname"><a href="group__csuma__api.html#ga0dbd333c70de601e769b8542552eb7e4">XCSUDMA_IXR_DONE_MASK</a></div><div class="ttdeci">#define XCSUDMA_IXR_DONE_MASK</div><div class="ttdoc">Done mask. </div><div class="ttdef"><b>Definition:</b> xcsudma_hw.h:237</div></div>
</div><!-- fragment -->
<p>This function will be in busy while loop until the data transfer is completed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to <a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> instance to be worked on. </td></tr>
    <tr><td class="paramname">Channel</td><td>Represents the type of channel either it is Source or Destination. Source channel - XCSUDMA_SRC_CHANNEL Destination Channel - XCSUDMA_DST_CHANNEL</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function should be called after XCsuDma_Transfer in polled mode to wait until the data gets transferred completely. C-style signature: void XCsuDma_WaitForDone(<a class="el" href="struct_x_csu_dma.html" title="The XCsuDma driver instance data structure. ">XCsuDma</a> *InstancePtr, XCsuDma_Channel Channel) </dd></dl>

<p>Referenced by <a class="el" href="xcsudma__polled__example_8c.html#aff327ee48af8d9e5c4018dd4e463674c">XCsuDma_PolledExample()</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ad5ce08d197288cbdfb06941f1d46df87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xcsudma_8h.html#ad5ce08d197288cbdfb06941f1d46df87">XCsuDma_PauseType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains CSU_DMA Pause Types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad5ce08d197288cbdfb06941f1d46df87a4848b0d503f02b0b03be6cd1a14ef6a8"></a>XCSUDMA_PAUSE_MEMORY</em>&nbsp;</td><td class="fielddoc">
<p>Pauses memory data transfer to/from CSU_DMA. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad5ce08d197288cbdfb06941f1d46df87a67086fbe749ed37f5928c211ee6aa5b8"></a>XCSUDMA_PAUSE_STREAM</em>&nbsp;</td><td class="fielddoc">
<p>Pauses stream data transfer to/from CSU_DMA. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
